#include "RiverX86Disassembler.h"

#include "CodeGen.h"

/* =========================================== */
/* Disassembly tables                          */
/* =========================================== */

template <nodep::BYTE opIdx, nodep::BYTE opFlg, nodep::BYTE base, nodep::BYTE disp8, RiverX86Disassembler::DisassembleOperandsFunc cont> void RiverX86Disassembler::DisassembleConstMemOperand(nodep::BYTE *&px86, RiverInstruction &ri) {
		(this->*cont)(px86, ri);

		RiverAddress32 *rAddr = (RiverAddress32 *)codegen->AllocAddr(ri.modifiers); //new RiverAddress;
		
		rAddr->scaleAndSegment = 0;
		rAddr->type = RIVER_ADDR_BASE | RIVER_ADDR_DIRTY;
		rAddr->type |= (disp8 != 0) ? RIVER_ADDR_DISP8 : 0;
		
		nodep::BYTE opType = RIVER_OPTYPE_MEM | opFlg;
		if (RIVER_MODIFIER_O8 & ri.modifiers) {
			opType |= RIVER_OPSIZE_8;
		}
		else if (RIVER_MODIFIER_O16 & ri.modifiers) {
			opType |= RIVER_OPSIZE_16;
		}

		rAddr->base.versioned = codegen->GetCurrentReg(base);
		rAddr->disp.d8 = disp8;

		ri.opTypes[opIdx] = opType;
		ri.operands[opIdx].asAddress = rAddr;
	}

RiverX86Disassembler::DisassembleOpcodeFunc RiverX86Disassembler::disassembleOpcodes[2][0x100] = {
		{
			/*0x00*/ &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0x04*/ &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_AL, RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_xAX>, &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_ES>, &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_ES>,
			/*0x08*/ &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0x0C*/ &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_AL, RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_xAX>, &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_CS>, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_EXT, RIVER_FLAG_PFX>,

			/*0x10*/ &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0x14*/ &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_AL, RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_xAX>, &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_SS>, &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_SS>,
			/*0x18*/ &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0x1C*/ &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_AL, RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_xAX>, &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_DS>, &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_DS>,

			/*0x20*/ &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0x24*/ &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_AL, RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_xAX>, &RiverX86Disassembler::DisassembleSegInstr<RIVER_MODIFIER_ESSEG>, &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_AL, RIVER_MODIFIER_O8>,
			/*0x28*/ &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0x2C*/ &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_AL, RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_xAX>, &RiverX86Disassembler::DisassembleSegInstr<RIVER_MODIFIER_CSSEG>, &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_AL, RIVER_MODIFIER_O8>,

			/*0x30*/ &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0x34*/ &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_AL, RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_xAX>, &RiverX86Disassembler::DisassembleSegInstr<RIVER_MODIFIER_SSSEG>, &RiverX86Disassembler::DisassembleDefault2RegInstr<RIVER_REG_AL, RIVER_REG_AH, RIVER_MODIFIER_O8>,
			/*0x38*/ &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0x3C*/ &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_AL, RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_xAX>, &RiverX86Disassembler::DisassembleSegInstr<RIVER_MODIFIER_DSSEG>, &RiverX86Disassembler::DisassembleDefault2RegInstr<RIVER_REG_AL, RIVER_REG_AH, RIVER_MODIFIER_O8>,

			/*0x40*/ &RiverX86Disassembler::DisassemblePlusRegInstr<0x40>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x40>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x40>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x40>,
			/*0x44*/ &RiverX86Disassembler::DisassemblePlusRegInstr<0x40>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x40>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x40>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x40>,
			/*0x48*/ &RiverX86Disassembler::DisassemblePlusRegInstr<0x48>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x48>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x48>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x48>,
			/*0x4C*/ &RiverX86Disassembler::DisassemblePlusRegInstr<0x48>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x48>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x48>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x48>,

			/*0x50*/ &RiverX86Disassembler::DisassemblePlusRegInstr<0x50>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x50>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x50>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x50>,
			/*0x54*/ &RiverX86Disassembler::DisassemblePlusRegInstr<0x50>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x50>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x50>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x50>,
			/*0x58*/ &RiverX86Disassembler::DisassemblePlusRegInstr<0x58>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x58>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x58>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x58>,
			/*0x5C*/ &RiverX86Disassembler::DisassemblePlusRegInstr<0x58>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x58>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x58>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x58>,

			/*0x60*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x64*/ &RiverX86Disassembler::DisassembleSegInstr<RIVER_MODIFIER_FSSEG>, &RiverX86Disassembler::DisassembleSegInstr<RIVER_MODIFIER_GSSEG>, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O16, RIVER_FLAG_PFX>, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_A16, RIVER_FLAG_PFX>,
			/*0x68*/ &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0x6C*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,

			/*0x70*/ &RiverX86Disassembler::DisassembleRelJmpInstr<2>, &RiverX86Disassembler::DisassembleRelJmpInstr<2>, &RiverX86Disassembler::DisassembleRelJmpInstr<2>, &RiverX86Disassembler::DisassembleRelJmpInstr<2>,
			/*0x74*/ &RiverX86Disassembler::DisassembleRelJmpInstr<2>, &RiverX86Disassembler::DisassembleRelJmpInstr<2>, &RiverX86Disassembler::DisassembleRelJmpInstr<2>, &RiverX86Disassembler::DisassembleRelJmpInstr<2>,
			/*0x78*/ &RiverX86Disassembler::DisassembleRelJmpInstr<2>, &RiverX86Disassembler::DisassembleRelJmpInstr<2>, &RiverX86Disassembler::DisassembleRelJmpInstr<2>, &RiverX86Disassembler::DisassembleRelJmpInstr<2>,
			/*0x7C*/ &RiverX86Disassembler::DisassembleRelJmpInstr<2>, &RiverX86Disassembler::DisassembleRelJmpInstr<2>, &RiverX86Disassembler::DisassembleRelJmpInstr<2>, &RiverX86Disassembler::DisassembleRelJmpInstr<2>,

			/*0x80*/ &RiverX86Disassembler::DisassembleExtInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleExtInstr, &RiverX86Disassembler::DisassembleExtInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleExtInstr,
			/*0x84*/ &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0x88*/ &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0x8C*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,

			/*0x90*/ &RiverX86Disassembler::DisassemblePlusRegInstr<0x90>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x90>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x90>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x90>,
			/*0x94*/ &RiverX86Disassembler::DisassemblePlusRegInstr<0x90>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x90>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x90>, &RiverX86Disassembler::DisassemblePlusRegInstr<0x90>,
			/*0x98*/ &RiverX86Disassembler::DisassembleConvertxAx, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x9C*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,

			/*0xA0*/ &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_AL, RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_xAX>, &RiverX86Disassembler::DisassembleDefaultSecondRegInstr<RIVER_REG_AL, RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultSecondRegInstr<RIVER_REG_xAX>,
			/*0xA4*/ &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0xA8*/ &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_AL, RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultRegInstr<RIVER_REG_xAX>, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0xAC*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr,

			/*0xB0*/ &RiverX86Disassembler::DisassemblePlusRegInstr<0xB0, RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassemblePlusRegInstr<0xB0, RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassemblePlusRegInstr<0xB0, RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassemblePlusRegInstr<0xB0, RIVER_MODIFIER_O8>,
			/*0xB4*/ &RiverX86Disassembler::DisassemblePlusRegInstr<0xB0, RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassemblePlusRegInstr<0xB0, RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassemblePlusRegInstr<0xB0, RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassemblePlusRegInstr<0xB0, RIVER_MODIFIER_O8>,
			/*0xB8*/ &RiverX86Disassembler::DisassemblePlusRegInstr<0xB8>, &RiverX86Disassembler::DisassemblePlusRegInstr<0xB8>, &RiverX86Disassembler::DisassemblePlusRegInstr<0xB8>, &RiverX86Disassembler::DisassemblePlusRegInstr<0xB8>,
			/*0xBC*/ &RiverX86Disassembler::DisassemblePlusRegInstr<0xB8>, &RiverX86Disassembler::DisassemblePlusRegInstr<0xB8>, &RiverX86Disassembler::DisassemblePlusRegInstr<0xB8>, &RiverX86Disassembler::DisassemblePlusRegInstr<0xB8>,

			/*0xC0*/ &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr<0, RIVER_FLAG_BRANCH | RIVER_MODIFIER_O16 | RIVER_BRANCH_INSTR_RET | RIVER_BRANCH_TYPE_MEM>, &RiverX86Disassembler::DisassembleDefaultInstr<0, RIVER_FLAG_BRANCH | RIVER_BRANCH_INSTR_RET | RIVER_BRANCH_TYPE_MEM>,
			/*0xC4*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0xC8*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0xCC*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,

			/*0xD0*/ &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultSecondRegInstr<RIVER_REG_CL, RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultSecondRegInstr<RIVER_REG_CL>,
			/*0xD4*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0xD8*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0xDC*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,

			/*0xE0*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleRelJmpInstr<2>,
			/*0xE4*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0xE8*/ &RiverX86Disassembler::DisassembleRelJmpInstr<5>, &RiverX86Disassembler::DisassembleRelJmpInstr<5>, &RiverX86Disassembler::DisassembleDefaultInstr<0, RIVER_FLAG_BRANCH | RIVER_BRANCH_INSTR_JMP | RIVER_BRANCH_TYPE_IMM>, &RiverX86Disassembler::DisassembleRelJmpInstr<2>,
			/*0xEC*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,

			/*0xF0*/ &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_LOCK, RIVER_FLAG_PFX>, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_REPNZ, RIVER_FLAG_PFX>, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_REPZ, RIVER_FLAG_PFX>,
			/*0xF4*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleSubOpInstr<disassemble0xF6Instr>, &RiverX86Disassembler::DisassembleSubOpInstr<disassemble0xF7Instr>,
			/*0xF8*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0xFC*/ &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleSubOpInstr<disassemble0xFFInstr>
		}, {
			/*0x00*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0x04*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleRelJmpInstr<1>, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x08*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x0C*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,

			/*0x10*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x14*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x18*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x1C*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleDefaultInstr,

			/*0x20*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x24*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x28*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x2C*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,

			/*0x30*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x34*/ &RiverX86Disassembler::DisassembleRelJmpInstr<1>, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x38*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x3C*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,

			/*0x40*/ &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0x44*/ &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0x48*/ &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0x4C*/ &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr,

			/*0x50*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x54*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x58*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x5C*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,

			/*0x60*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x64*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x68*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x6C*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,

			/*0x70*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x74*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x78*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0x7C*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,

			/*0x80*/ &RiverX86Disassembler::DisassembleRelJmpInstr<5>, &RiverX86Disassembler::DisassembleRelJmpInstr<5>, &RiverX86Disassembler::DisassembleRelJmpInstr<5>, &RiverX86Disassembler::DisassembleRelJmpInstr<5>,
			/*0x84*/ &RiverX86Disassembler::DisassembleRelJmpInstr<5>, &RiverX86Disassembler::DisassembleRelJmpInstr<5>, &RiverX86Disassembler::DisassembleRelJmpInstr<5>, &RiverX86Disassembler::DisassembleRelJmpInstr<5>,
			/*0x88*/ &RiverX86Disassembler::DisassembleRelJmpInstr<5>, &RiverX86Disassembler::DisassembleRelJmpInstr<5>, &RiverX86Disassembler::DisassembleRelJmpInstr<5>, &RiverX86Disassembler::DisassembleRelJmpInstr<5>,
			/*0x8C*/ &RiverX86Disassembler::DisassembleRelJmpInstr<5>, &RiverX86Disassembler::DisassembleRelJmpInstr<5>, &RiverX86Disassembler::DisassembleRelJmpInstr<5>, &RiverX86Disassembler::DisassembleRelJmpInstr<5>,

			/*0x90*/ &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>,
			/*0x94*/ &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>,
			/*0x98*/ &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>,
			/*0x9C*/ &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>,

			/*0xA0*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0xA4*/ &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0xA8*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0xAC*/ &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleDefaultInstr,

			/*0xB0*/ &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0xB4*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr,
			/*0xB8*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleExtInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0xBC*/ &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr,

			/*0xC0*/ &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0xC4*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleSubOpInstr<RiverX86Disassembler::disassemble0x0FC7Instr>,
			/*0xC8*/ &RiverX86Disassembler::DisassemblePlusRegInstr<0xC8>, &RiverX86Disassembler::DisassemblePlusRegInstr<0xC8>, &RiverX86Disassembler::DisassemblePlusRegInstr<0xC8>, &RiverX86Disassembler::DisassemblePlusRegInstr<0xC8>,
			/*0xCC*/ &RiverX86Disassembler::DisassemblePlusRegInstr<0xC8>, &RiverX86Disassembler::DisassemblePlusRegInstr<0xC8>, &RiverX86Disassembler::DisassemblePlusRegInstr<0xC8>, &RiverX86Disassembler::DisassemblePlusRegInstr<0xC8>,

			/*0xD0*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0xD4*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0xD8*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0xDC*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,

			/*0xE0*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0xE4*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0xE8*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0xEC*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,

			/*0xF0*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0xF4*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0xF8*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
			/*0xFC*/ &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr
		}
};

RiverX86Disassembler::DisassembleOperandsFunc RiverX86Disassembler::disassembleOperands[2][0x100] = {
	{
		/*0x00*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0x01*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0x02*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x03*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x04*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_8>,
		/*0x05*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_32>,
		/*0x06*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x07*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x08*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0x09*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0x0A*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x0B*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x0C*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_8>,
		/*0x0D*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_32>,
		/*0x0E*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x0F*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x10*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0x11*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0x12*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x13*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x14*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_8>,
		/*0x15*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_32>,
		/*0x16*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0x17*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0x18*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0x19*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0x1A*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x1B*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x1C*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_8>,
		/*0x1D*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_32>,
		/*0x1E*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x1F*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x20*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0x21*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0x22*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x23*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x24*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_8>,
		/*0x25*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_32>,
		/*0x26*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x27*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x28*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0x29*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0x2A*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x2B*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x2C*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_8>,
		/*0x2D*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_32>,
		/*0x2E*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x2F*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x30*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0x31*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0x32*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x33*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x34*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_8>,
		/*0x35*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_32>,
		/*0x36*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x37*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x38*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0x39*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0x3A*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x3B*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x3C*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_8>,
		/*0x3D*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_32>,
		/*0x3E*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x3F*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x40*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0x41*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0x42*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0x43*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0x44*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0x45*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0x46*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0x47*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0x48*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0x49*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0x4A*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0x4B*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0x4C*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0x4D*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0x4E*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0x4F*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0x50*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0xFC, &RiverX86Disassembler::DisassembleNoOp> >,
		/*0x51*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0xFC, &RiverX86Disassembler::DisassembleNoOp> >,
		/*0x52*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0xFC, &RiverX86Disassembler::DisassembleNoOp> >,
		/*0x53*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0xFC, &RiverX86Disassembler::DisassembleNoOp> >,
		/*0x54*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0xFC, &RiverX86Disassembler::DisassembleNoOp> >,
		/*0x55*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0xFC, &RiverX86Disassembler::DisassembleNoOp> >,
		/*0x56*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0xFC, &RiverX86Disassembler::DisassembleNoOp> >,
		/*0x57*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0xFC, &RiverX86Disassembler::DisassembleNoOp> >,
		/*0x58*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0x00, &RiverX86Disassembler::DisassembleNoOp> >,
		/*0x59*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0x00, &RiverX86Disassembler::DisassembleNoOp> >,
		/*0x5A*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0x00, &RiverX86Disassembler::DisassembleNoOp> >,
		/*0x5B*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0x00, &RiverX86Disassembler::DisassembleNoOp> >,
		/*0x5C*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0x00, &RiverX86Disassembler::DisassembleNoOp> >,
		/*0x5D*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0x00, &RiverX86Disassembler::DisassembleNoOp> >,
		/*0x5E*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0x00, &RiverX86Disassembler::DisassembleNoOp> >,
		/*0x5F*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0x00, &RiverX86Disassembler::DisassembleNoOp> >,
		/*0x60*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x61*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x62*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x63*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x64*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x65*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x66*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x67*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x68*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0xFC, &RiverX86Disassembler::DisassembleImm32> >,
		/*0x69*/ &RiverX86Disassembler::DisassembleRegModRMImm32,
		/*0x6A*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0xFC, &RiverX86Disassembler::DisassembleImm8> >,
		/*0x6B*/ &RiverX86Disassembler::DisassembleRegModRMImm8,
		/*0x6C*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x6D*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x6E*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x6F*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x70*/ &RiverX86Disassembler::DisassembleImm8,
		/*0x71*/ &RiverX86Disassembler::DisassembleImm8,
		/*0x72*/ &RiverX86Disassembler::DisassembleImm8,
		/*0x73*/ &RiverX86Disassembler::DisassembleImm8,
		/*0x74*/ &RiverX86Disassembler::DisassembleImm8,
		/*0x75*/ &RiverX86Disassembler::DisassembleImm8,
		/*0x76*/ &RiverX86Disassembler::DisassembleImm8,
		/*0x77*/ &RiverX86Disassembler::DisassembleImm8,
		/*0x78*/ &RiverX86Disassembler::DisassembleImm8,
		/*0x79*/ &RiverX86Disassembler::DisassembleImm8,
		/*0x7A*/ &RiverX86Disassembler::DisassembleImm8,
		/*0x7B*/ &RiverX86Disassembler::DisassembleImm8,
		/*0x7C*/ &RiverX86Disassembler::DisassembleImm8,
		/*0x7D*/ &RiverX86Disassembler::DisassembleImm8,
		/*0x7E*/ &RiverX86Disassembler::DisassembleImm8,
		/*0x7F*/ &RiverX86Disassembler::DisassembleImm8,
		/*0x80*/ &RiverX86Disassembler::DisassembleSubOpModRMImm8,
		/*0x81*/ &RiverX86Disassembler::DisassembleSubOpModRMImm32,
		/*0x82*/ &RiverX86Disassembler::DisassembleSubOpModRMImm8,
		/*0x83*/ &RiverX86Disassembler::DisassembleSubOpModRMImm8,
		/*0x84*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x85*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x86*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x87*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x88*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0x89*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0x8A*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x8B*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x8C*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x8D*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x8E*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x8F*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x90*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, 0, RIVER_REG_xAX, &RiverX86Disassembler::DisassembleNoOp>,
		/*0x91*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, 0, RIVER_REG_xAX, &RiverX86Disassembler::DisassembleNoOp>,
		/*0x92*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, 0, RIVER_REG_xAX, &RiverX86Disassembler::DisassembleNoOp>,
		/*0x93*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, 0, RIVER_REG_xAX, &RiverX86Disassembler::DisassembleNoOp>,
		/*0x94*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, 0, RIVER_REG_xAX, &RiverX86Disassembler::DisassembleNoOp>,
		/*0x95*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, 0, RIVER_REG_xAX, &RiverX86Disassembler::DisassembleNoOp>,
		/*0x96*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, 0, RIVER_REG_xAX, &RiverX86Disassembler::DisassembleNoOp>,
		/*0x97*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, 0, RIVER_REG_xAX, &RiverX86Disassembler::DisassembleNoOp>,
		/*0x98*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0x99*/ &RiverX86Disassembler::DisassembleConstRegOperand<0, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDX, &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX, &RiverX86Disassembler::DisassembleNoOp> >,
		/*0x9A*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x9B*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x9C*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0xFC, &RiverX86Disassembler::DisassembleUnkOp> >,
		/*0x9D*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x9E*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x9F*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xA0*/ &RiverX86Disassembler::DisassembleMoffs8<1>,
		/*0xA1*/ &RiverX86Disassembler::DisassembleMoffs32<1>,
		/*0xA2*/ &RiverX86Disassembler::DisassembleMoffs8<0>,
		/*0xA3*/ &RiverX86Disassembler::DisassembleMoffs32<0>,
		/*0xA4*/ &RiverX86Disassembler::DisassembleConstRegOperand<0, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDI,
			&RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSI, 
				&RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDI, 0x00,
					&RiverX86Disassembler::DisassembleConstMemOperand<3, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSI, 0x00, 
						&RiverX86Disassembler::DisassembleNoOp 
					> 
				> 
			> 
		>,
		/*0xA5*/ &RiverX86Disassembler::DisassembleConstRegOperand<0, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDI,
			&RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSI,
				&RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDI, 0x00,
					&RiverX86Disassembler::DisassembleConstMemOperand<3, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSI, 0x00,
						&RiverX86Disassembler::DisassembleNoOp
					>
				>
			>
		>,
		/*0xA6*/ &RiverX86Disassembler::DisassembleConstRegOperand<0, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDI,
			&RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSI,
				&RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDI, 0x00,
					&RiverX86Disassembler::DisassembleConstMemOperand<3, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSI, 0x00,
						&RiverX86Disassembler::DisassembleNoOp
					>
				>
			>
		>,
		/*0xA7*/ &RiverX86Disassembler::DisassembleConstRegOperand<0, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDI,
			&RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSI,
				&RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDI, 0x00,
					&RiverX86Disassembler::DisassembleConstMemOperand<3, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSI, 0x00,
						&RiverX86Disassembler::DisassembleNoOp
					>
				>
			>
		>,
		/*0xA8*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_8>,
		/*0xA9*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_32>,
		/*0xAA*/ &RiverX86Disassembler::DisassembleConstRegOperand<0, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDI,
			&RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX,
				&RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDI, 0x00, 
					&RiverX86Disassembler::DisassembleNoOp 
				>
			>
		>,
		/*0xAB*/ &RiverX86Disassembler::DisassembleConstRegOperand<0, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDI,
			&RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX,
				&RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDI, 0x00,
					&RiverX86Disassembler::DisassembleNoOp
				>
			>
		>,
		/*0xAC*/ &RiverX86Disassembler::DisassembleConstRegOperand<0, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX,
			&RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDI,
				&RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDI, 0x00,
					&RiverX86Disassembler::DisassembleNoOp
				>
			>
		>,
		/*0xAD*/ &RiverX86Disassembler::DisassembleConstRegOperand<0, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX,
			&RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDI,
				&RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDI, 0x00,
					&RiverX86Disassembler::DisassembleNoOp
				>
			>
		>,
		/*0xAE*/ &RiverX86Disassembler::DisassembleConstRegOperand<0, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDI,
			&RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX,
				&RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDI, 0x00,
					&RiverX86Disassembler::DisassembleNoOp
				>
			>
		>,
		/*0xAF*/ &RiverX86Disassembler::DisassembleConstRegOperand<0, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDI,
			&RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX,
				&RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDI, 0x00,
					&RiverX86Disassembler::DisassembleNoOp
				>
			>
		>,
		/*0xB0*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_8>,
		/*0xB1*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_8>,
		/*0xB2*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_8>,
		/*0xB3*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_8>,
		/*0xB4*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_8>,
		/*0xB5*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_8>,
		/*0xB6*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_8>,
		/*0xB7*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_8>,
		/*0xB8*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_32>,
		/*0xB9*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_32>,
		/*0xBA*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_32>,
		/*0xBB*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_32>,
		/*0xBC*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_32>,
		/*0xBD*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_32>,
		/*0xBE*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_32>,
		/*0xBF*/ &RiverX86Disassembler::DisassembleImmOp<1, RIVER_OPSIZE_32>,
		/*0xC0*/ &RiverX86Disassembler::DisassembleSubOpModRMImm8,
		/*0xC1*/ &RiverX86Disassembler::DisassembleSubOpModRMImm8,
		/*0xC2*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0x00, &RiverX86Disassembler::DisassembleImm16> >,
		/*0xC3*/ &RiverX86Disassembler::DisassembleConstRegOperand<0, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0x00, &RiverX86Disassembler::DisassembleNoOp> >,
		/*0xC4*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xC5*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xC6*/ &RiverX86Disassembler::DisassembleModRMImm8,
		/*0xC7*/ &RiverX86Disassembler::DisassembleModRMImm32,
		/*0xC8*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xC9*/ &RiverX86Disassembler::DisassembleConstRegOperand<0, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP,
			&RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xBP,
				&RiverX86Disassembler::DisassembleNoOp
			>
		>,
		/*0xCA*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xCB*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xCC*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xCD*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xCE*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xCF*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xD0*/ &RiverX86Disassembler::DisassembleConstImmOperand<1, RIVER_OPFLAG_IMPLICIT, 1, &RiverX86Disassembler::DisassembleSubOpModRM>,
		/*0xD1*/ &RiverX86Disassembler::DisassembleConstImmOperand<1, RIVER_OPFLAG_IMPLICIT, 1, &RiverX86Disassembler::DisassembleSubOpModRM>,
		/*0xD2*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_CL, &RiverX86Disassembler::DisassembleSubOpModRM>,
		/*0xD3*/ &RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_CL, &RiverX86Disassembler::DisassembleSubOpModRM>,
		/*0xD4*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xD5*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xD6*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xD7*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xD8*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xD9*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xDA*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xDB*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xDC*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xDD*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xDE*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xDF*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xE0*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xE1*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xE2*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xE3*/ &RiverX86Disassembler::DisassembleConstRegOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xCX, &RiverX86Disassembler::DisassembleImm8>,
		/*0xE4*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xE5*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xE6*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xE7*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xE8*/ &RiverX86Disassembler::DisassembleConstRegOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<3, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0xFC, &RiverX86Disassembler::DisassembleImm32> >,
		/*0xE9*/ &RiverX86Disassembler::DisassembleImm32,
		/*0xEA*/ &RiverX86Disassembler::DisassembleImm32Imm16,
		/*0xEB*/ &RiverX86Disassembler::DisassembleImm8,
		/*0xEC*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xED*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xEE*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xEF*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xF0*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xF1*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xF2*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xF3*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xF4*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xF5*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xF6*/ &RiverX86Disassembler::DisassembleSubOpOp<RiverX86Disassembler::disassemble0xF6Op>,
		/*0xF7*/ &RiverX86Disassembler::DisassembleSubOpOp<RiverX86Disassembler::disassemble0xF7Op>,
		/*0xF8*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xF9*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xFA*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xFB*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xFC*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0xFD*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0xFE*/ &RiverX86Disassembler::DisassembleSubOpModRM,
		/*0xFF*/ &RiverX86Disassembler::DisassembleSubOpOp<RiverX86Disassembler::disassemble0xFFOp>
	}, {
		/*0x00*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x01*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x02*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x03*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x04*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x05*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0x06*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x07*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x08*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x09*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x0A*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x0B*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x0C*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x0D*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x0E*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x0F*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x10*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x11*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x12*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x13*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x14*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x15*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x16*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x17*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x18*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x19*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x1A*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x1B*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x1C*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x1D*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x1E*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x1F*/ &RiverX86Disassembler::DisassembleSubOpModRM,
		/*0x20*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x21*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x22*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x23*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x24*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x25*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x26*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x27*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x28*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x29*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x2A*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x2B*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x2C*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x2D*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x2E*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x2F*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x30*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x31*/ &RiverX86Disassembler::DisassembleConstRegOperand<0, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX,
			&RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDX, 
				&RiverX86Disassembler::DisassembleNoOp
			>
		>,
		/*0x32*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x33*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x34*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0x35*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x36*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x37*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x38*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x39*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x3A*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x3B*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x3C*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x3D*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x3E*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x3F*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x40*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x41*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x42*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x43*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x44*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x45*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x46*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x47*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x48*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x49*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x4A*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x4B*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x4C*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x4D*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x4E*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x4F*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0x50*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x51*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x52*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x53*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x54*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x55*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x56*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x57*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x58*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x59*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x5A*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x5B*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x5C*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x5D*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x5E*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x5F*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x60*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x61*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x62*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x63*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x64*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x65*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x66*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x67*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x68*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x69*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x6A*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x6B*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x6C*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x6D*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x6E*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x6F*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x70*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x71*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x72*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x73*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x74*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x75*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x76*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x77*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x78*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x79*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x7A*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x7B*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x7C*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x7D*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x7E*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x7F*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0x80*/ &RiverX86Disassembler::DisassembleImm32,
		/*0x81*/ &RiverX86Disassembler::DisassembleImm32,
		/*0x82*/ &RiverX86Disassembler::DisassembleImm32,
		/*0x83*/ &RiverX86Disassembler::DisassembleImm32,
		/*0x84*/ &RiverX86Disassembler::DisassembleImm32,
		/*0x85*/ &RiverX86Disassembler::DisassembleImm32,
		/*0x86*/ &RiverX86Disassembler::DisassembleImm32,
		/*0x87*/ &RiverX86Disassembler::DisassembleImm32,
		/*0x88*/ &RiverX86Disassembler::DisassembleImm32,
		/*0x89*/ &RiverX86Disassembler::DisassembleImm32,
		/*0x8A*/ &RiverX86Disassembler::DisassembleImm32,
		/*0x8B*/ &RiverX86Disassembler::DisassembleImm32,
		/*0x8C*/ &RiverX86Disassembler::DisassembleImm32,
		/*0x8D*/ &RiverX86Disassembler::DisassembleImm32,
		/*0x8E*/ &RiverX86Disassembler::DisassembleImm32,
		/*0x8F*/ &RiverX86Disassembler::DisassembleImm32,
		/*0x90*/ &RiverX86Disassembler::DisassembleModRM<0>,
		/*0x91*/ &RiverX86Disassembler::DisassembleModRM<0>,
		/*0x92*/ &RiverX86Disassembler::DisassembleModRM<0>,
		/*0x93*/ &RiverX86Disassembler::DisassembleModRM<0>,
		/*0x94*/ &RiverX86Disassembler::DisassembleModRM<0>,
		/*0x95*/ &RiverX86Disassembler::DisassembleModRM<0>,
		/*0x96*/ &RiverX86Disassembler::DisassembleModRM<0>,
		/*0x97*/ &RiverX86Disassembler::DisassembleModRM<0>,
		/*0x98*/ &RiverX86Disassembler::DisassembleModRM<0>,
		/*0x99*/ &RiverX86Disassembler::DisassembleModRM<0>,
		/*0x9A*/ &RiverX86Disassembler::DisassembleModRM<0>,
		/*0x9B*/ &RiverX86Disassembler::DisassembleModRM<0>,
		/*0x9C*/ &RiverX86Disassembler::DisassembleModRM<0>,
		/*0x9D*/ &RiverX86Disassembler::DisassembleModRM<0>,
		/*0x9E*/ &RiverX86Disassembler::DisassembleModRM<0>,
		/*0x9F*/ &RiverX86Disassembler::DisassembleModRM<0>,
		/*0xA0*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xA1*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xA2*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0xA3*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0xA4*/ &RiverX86Disassembler::DisassembleModRMRegImm8,
		/*0xA5*/ &RiverX86Disassembler::DisassembleConstMemOperand<0, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSI, 0x0,
					&RiverX86Disassembler::DisassembleConstMemOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDI, 0x0,
						&RiverX86Disassembler::DisassembleConstRegOperand<2, 0, RIVER_REG_CL, &RiverX86Disassembler::DisassembleNoOp>
					>
				 >,
		/*0xA6*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xA7*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xA8*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xA9*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xAA*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xAB*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0xAC*/ &RiverX86Disassembler::DisassembleModRMRegImm8,
		/*0xAD*/ &RiverX86Disassembler::DisassembleConstRegOperand<2, 0, RIVER_REG_CL, &RiverX86Disassembler::DisassembleModRMReg>,
		/*0xAE*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xAF*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0xB0*/ &RiverX86Disassembler::DisassembleConstRegOperand<2, 0, RIVER_REG_AL, &RiverX86Disassembler::DisassembleModRMReg>,
		/*0xB1*/ &RiverX86Disassembler::DisassembleConstRegOperand<2, 0, RIVER_REG_xAX, &RiverX86Disassembler::DisassembleModRMReg>,
		/*0xB2*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xB3*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0xB4*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xB5*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xB6*/ &RiverX86Disassembler::DisassembleRegSzModRM<RIVER_MODIFIER_O8>,
		/*0xB7*/ &RiverX86Disassembler::DisassembleRegSzModRM<RIVER_MODIFIER_O16>,
		/*0xB8*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xB9*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xBA*/ &RiverX86Disassembler::DisassembleSubOpModRMImm8,
		/*0xBB*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xBC*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0xBD*/ &RiverX86Disassembler::DisassembleRegModRM,
		/*0xBE*/ &RiverX86Disassembler::DisassembleFixOperandSize<1, RIVER_OPSIZE_8, &RiverX86Disassembler::DisassembleRegModRM>,
		/*0xBF*/ &RiverX86Disassembler::DisassembleFixOperandSize<1, RIVER_OPSIZE_16, &RiverX86Disassembler::DisassembleRegModRM>,
		/*0xC0*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0xC1*/ &RiverX86Disassembler::DisassembleModRMReg,
		/*0xC2*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xC3*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xC4*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xC5*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xC6*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xC7*/ &RiverX86Disassembler::DisassembleSubOpOp<RiverX86Disassembler::disassemble0x0FC7Op>,
		/*0xC8*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0xC9*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0xCA*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0xCB*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0xCC*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0xCD*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0xCE*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0xCF*/ &RiverX86Disassembler::DisassembleNoOp,
		/*0xD0*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xD1*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xD2*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xD3*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xD4*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xD5*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xD6*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xD7*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xD8*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xD9*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xDA*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xDB*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xDC*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xDD*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xDE*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xDF*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xE0*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xE1*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xE2*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xE3*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xE4*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xE5*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xE6*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xE7*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xE8*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xE9*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xEA*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xEB*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xEC*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xED*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xEE*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xEF*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xF0*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xF1*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xF2*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xF3*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xF4*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xF5*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xF6*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xF7*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xF8*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xF9*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xFA*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xFB*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xFC*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xFD*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xFE*/ &RiverX86Disassembler::DisassembleUnkOp,
		/*0xFF*/ &RiverX86Disassembler::DisassembleUnkOp
	}
};

RiverX86Disassembler::DisassembleOpcodeFunc RiverX86Disassembler::disassemble0xF6Instr[8] = {
/*0x00*/	&RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>, &RiverX86Disassembler::DisassembleDefaultInstr<RIVER_MODIFIER_O8>,
/*0x04*/	&RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr
};

RiverX86Disassembler::DisassembleOperandsFunc RiverX86Disassembler::disassemble0xF6Op[8] = {
/*0x00*/	&RiverX86Disassembler::DisassembleModRMImm8,
/*0x01*/	&RiverX86Disassembler::DisassembleModRMImm8,
/*0x02*/	&RiverX86Disassembler::DisassembleSubOpModRM,
/*0x03*/	&RiverX86Disassembler::DisassembleSubOpModRM,
/*0x04*/	&RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX | RIVER_REG_SZ16,
				&RiverX86Disassembler::DisassembleConstRegOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX | RIVER_REG_SZ8_L,
					&RiverX86Disassembler::DisassembleModRM<0>
				>
			>,
/*0x05*/	&RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX | RIVER_REG_SZ16,
				&RiverX86Disassembler::DisassembleConstRegOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX | RIVER_REG_SZ8_L,
					&RiverX86Disassembler::DisassembleModRM<0>
				>
			>,
/*0x06*/	&RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX | RIVER_REG_SZ8_L,
				&RiverX86Disassembler::DisassembleConstRegOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX | RIVER_REG_SZ8_H,
					&RiverX86Disassembler::DisassembleConstRegOperand<3, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX | RIVER_REG_SZ16,
						&RiverX86Disassembler::DisassembleModRM<0>
					>
				>
			>,
/*0x07*/	&RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX | RIVER_REG_SZ8_L,
				&RiverX86Disassembler::DisassembleConstRegOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX | RIVER_REG_SZ8_H,
					&RiverX86Disassembler::DisassembleConstRegOperand<3, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX | RIVER_REG_SZ16,
						&RiverX86Disassembler::DisassembleModRM<0>
					>
				>
			>
};


RiverX86Disassembler::DisassembleOpcodeFunc RiverX86Disassembler::disassemble0xF7Instr[8] = {
	&RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr,
	&RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleDefaultInstr
};

RiverX86Disassembler::DisassembleOperandsFunc RiverX86Disassembler::disassemble0xF7Op[8] = {
	&RiverX86Disassembler::DisassembleModRMImm32,
	&RiverX86Disassembler::DisassembleModRMImm32,
	&RiverX86Disassembler::DisassembleSubOpModRM,
	&RiverX86Disassembler::DisassembleSubOpModRM,
	&RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX,
		&RiverX86Disassembler::DisassembleConstRegOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDX,
			&RiverX86Disassembler::DisassembleModRM<0>
		>
	>,
	&RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX,
		&RiverX86Disassembler::DisassembleConstRegOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDX,
			&RiverX86Disassembler::DisassembleModRM<0>
		>
	>, 
	&RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX,
		&RiverX86Disassembler::DisassembleConstRegOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDX,
			&RiverX86Disassembler::DisassembleModRM<0>
		>
	>, 
	&RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xAX,
		&RiverX86Disassembler::DisassembleConstRegOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xDX,
			&RiverX86Disassembler::DisassembleModRM<0>
		>
	>
};


RiverX86Disassembler::DisassembleOpcodeFunc RiverX86Disassembler::disassemble0xFFInstr[8] = {
	&RiverX86Disassembler::DisassembleDefaultInstr, 
	&RiverX86Disassembler::DisassembleDefaultInstr, 
	&RiverX86Disassembler::DisassembleRelJmpModRMInstr, 
	&RiverX86Disassembler::DisassembleUnkInstr,
	&RiverX86Disassembler::DisassembleRelJmpModRMInstr, 
	&RiverX86Disassembler::DisassembleUnkInstr, 
	&RiverX86Disassembler::DisassembleDefaultInstr, 
	&RiverX86Disassembler::DisassembleUnkInstr
};

RiverX86Disassembler::DisassembleOperandsFunc RiverX86Disassembler::disassemble0xFFOp[8] = {
	&RiverX86Disassembler::DisassembleSubOpModRM, 
	&RiverX86Disassembler::DisassembleSubOpModRM, 
	&RiverX86Disassembler::DisassembleConstRegOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<3, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0xFC, &RiverX86Disassembler::DisassembleNoOp> >,
	&RiverX86Disassembler::DisassembleUnkOp,
	&RiverX86Disassembler::DisassembleNoOp, 
	&RiverX86Disassembler::DisassembleUnkOp, 
	&RiverX86Disassembler::DisassembleConstRegOperand<1, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, &RiverX86Disassembler::DisassembleConstMemOperand<2, RIVER_OPFLAG_IMPLICIT, RIVER_REG_xSP, 0xFC, &RiverX86Disassembler::DisassembleSubOpModRM> >,
	&RiverX86Disassembler::DisassembleUnkOp
};

RiverX86Disassembler::DisassembleOpcodeFunc RiverX86Disassembler::disassemble0x0FC7Instr[8] = {
	&RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleDefaultInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr,
	&RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr, &RiverX86Disassembler::DisassembleUnkInstr
};

RiverX86Disassembler::DisassembleOperandsFunc RiverX86Disassembler::disassemble0x0FC7Op[8] = {
	&RiverX86Disassembler::DisassembleUnkOp, &RiverX86Disassembler::DisassembleModRM<0>, &RiverX86Disassembler::DisassembleUnkOp, &RiverX86Disassembler::DisassembleUnkOp,
	&RiverX86Disassembler::DisassembleUnkOp, &RiverX86Disassembler::DisassembleUnkOp, &RiverX86Disassembler::DisassembleUnkOp, &RiverX86Disassembler::DisassembleUnkOp
};



nodep::BYTE RiverX86Disassembler::testFlags[2][0x100] = {
	{
		/*0x00*/ 0,
		/*0x01*/ 0,
		/*0x02*/ 0,
		/*0x03*/ 0,
		/*0x04*/ 0,
		/*0x05*/ 0,
		/*0x06*/ 0,
		/*0x07*/ 0,
		/*0x08*/ 0,
		/*0x09*/ 0,
		/*0x0A*/ 0,
		/*0x0B*/ 0,
		/*0x0C*/ 0,
		/*0x0D*/ 0,
		/*0x0E*/ 0,
		/*0x0F*/ 0,
		/*0x10*/ RIVER_SPEC_FLAG_CF,
		/*0x11*/ RIVER_SPEC_FLAG_CF,
		/*0x12*/ RIVER_SPEC_FLAG_CF,
		/*0x13*/ RIVER_SPEC_FLAG_CF,
		/*0x14*/ RIVER_SPEC_FLAG_CF,
		/*0x15*/ RIVER_SPEC_FLAG_CF,
		/*0x16*/ 0,
		/*0x17*/ 0,
		/*0x18*/ RIVER_SPEC_FLAG_CF,
		/*0x19*/ RIVER_SPEC_FLAG_CF,
		/*0x1A*/ RIVER_SPEC_FLAG_CF,
		/*0x1B*/ RIVER_SPEC_FLAG_CF,
		/*0x1C*/ RIVER_SPEC_FLAG_CF,
		/*0x1D*/ RIVER_SPEC_FLAG_CF,
		/*0x1E*/ 0,
		/*0x1F*/ 0,
		/*0x20*/ 0,
		/*0x21*/ 0,
		/*0x22*/ 0,
		/*0x23*/ 0,
		/*0x24*/ 0,
		/*0x25*/ 0,
		/*0x26*/ 0,
		/*0x27*/ RIVER_SPEC_FLAG_AF | RIVER_SPEC_FLAG_CF,
		/*0x28*/ 0,
		/*0x29*/ 0,
		/*0x2A*/ 0,
		/*0x2B*/ 0,
		/*0x2C*/ 0,
		/*0x2D*/ 0,
		/*0x2E*/ 0,
		/*0x2F*/ RIVER_SPEC_FLAG_AF | RIVER_SPEC_FLAG_CF,
		/*0x30*/ 0,
		/*0x31*/ 0,
		/*0x32*/ 0,
		/*0x33*/ 0,
		/*0x34*/ 0,
		/*0x35*/ 0,
		/*0x36*/ 0,
		/*0x37*/ RIVER_SPEC_FLAG_AF,
		/*0x38*/ 0,
		/*0x39*/ 0,
		/*0x3A*/ 0,
		/*0x3B*/ 0,
		/*0x3C*/ 0,
		/*0x3D*/ 0,
		/*0x3E*/ 0,
		/*0x3F*/ RIVER_SPEC_FLAG_AF,
		/*0x40*/ 0,
		/*0x41*/ 0,
		/*0x42*/ 0,
		/*0x43*/ 0,
		/*0x44*/ 0,
		/*0x45*/ 0,
		/*0x46*/ 0,
		/*0x47*/ 0,
		/*0x48*/ 0,
		/*0x49*/ 0,
		/*0x4A*/ 0,
		/*0x4B*/ 0,
		/*0x4C*/ 0,
		/*0x4D*/ 0,
		/*0x4E*/ 0,
		/*0x4F*/ 0,
		/*0x50*/ 0,
		/*0x51*/ 0,
		/*0x52*/ 0,
		/*0x53*/ 0,
		/*0x54*/ 0,
		/*0x55*/ 0,
		/*0x56*/ 0,
		/*0x57*/ 0,
		/*0x58*/ 0,
		/*0x59*/ 0,
		/*0x5A*/ 0,
		/*0x5B*/ 0,
		/*0x5C*/ 0,
		/*0x5D*/ 0,
		/*0x5E*/ 0,
		/*0x5F*/ 0,
		/*0x60*/ 0,
		/*0x61*/ 0,
		/*0x62*/ 0,
		/*0x63*/ 0,
		/*0x64*/ 0,
		/*0x65*/ 0,
		/*0x66*/ 0,
		/*0x67*/ 0,
		/*0x68*/ 0,
		/*0x69*/ 0,
		/*0x6A*/ 0,
		/*0x6B*/ 0,
		/*0x6C*/ RIVER_SPEC_FLAG_DF,
		/*0x6D*/ RIVER_SPEC_FLAG_DF,
		/*0x6E*/ RIVER_SPEC_FLAG_DF,
		/*0x6F*/ RIVER_SPEC_FLAG_DF,
		/*0x70*/ RIVER_SPEC_FLAG_OF,
		/*0x71*/ RIVER_SPEC_FLAG_OF,
		/*0x72*/ RIVER_SPEC_FLAG_CF,
		/*0x73*/ RIVER_SPEC_FLAG_CF,
		/*0x74*/ RIVER_SPEC_FLAG_ZF,
		/*0x75*/ RIVER_SPEC_FLAG_ZF,
		/*0x76*/ RIVER_SPEC_FLAG_CF | RIVER_SPEC_FLAG_ZF,
		/*0x77*/ RIVER_SPEC_FLAG_CF | RIVER_SPEC_FLAG_ZF,
		/*0x78*/ RIVER_SPEC_FLAG_SF,
		/*0x79*/ RIVER_SPEC_FLAG_SF,
		/*0x7A*/ RIVER_SPEC_FLAG_PF,
		/*0x7B*/ RIVER_SPEC_FLAG_PF,
		/*0x7C*/ RIVER_SPEC_FLAG_OF | RIVER_SPEC_FLAG_SF,
		/*0x7D*/ RIVER_SPEC_FLAG_OF | RIVER_SPEC_FLAG_SF,
		/*0x7E*/ RIVER_SPEC_FLAG_OF | RIVER_SPEC_FLAG_SF | RIVER_SPEC_FLAG_ZF,
		/*0x7F*/ RIVER_SPEC_FLAG_OF | RIVER_SPEC_FLAG_SF | RIVER_SPEC_FLAG_ZF,
		/*0x80*/ RIVER_SPEC_FLAG_EXT | 0,
		/*0x81*/ RIVER_SPEC_FLAG_EXT | 0,
		/*0x82*/ RIVER_SPEC_FLAG_EXT | 0,
		/*0x83*/ RIVER_SPEC_FLAG_EXT | 0,
		/*0x84*/ 0, 
		/*0x85*/ 0,
		/*0x86*/ 0,
		/*0x87*/ 0,
		/*0x88*/ 0,
		/*0x89*/ 0,
		/*0x8A*/ 0,
		/*0x8B*/ 0,
		/*0x8C*/ 0,
		/*0x8D*/ 0,
		/*0x8E*/ 0,
		/*0x8F*/ 0,
		/*0x90*/ 0,
		/*0x91*/ 0,
		/*0x92*/ 0,
		/*0x93*/ 0,
		/*0x94*/ 0,
		/*0x95*/ 0,
		/*0x96*/ 0,
		/*0x97*/ 0,
		/*0x98*/ 0,
		/*0x99*/ 0,
		/*0x9A*/ 0,
		/*0x9B*/ 0,
		/*0x9C*/ 0,
		/*0x9D*/ 0,
		/*0x9E*/ 0,
		/*0x9F*/ RIVER_SPEC_FLAG_SZAPC,
		/*0xA0*/ 0,
		/*0xA1*/ 0,
		/*0xA2*/ 0,
		/*0xA3*/ 0,
		/*0xA4*/ RIVER_SPEC_FLAG_DF,
		/*0xA5*/ RIVER_SPEC_FLAG_DF,
		/*0xA6*/ RIVER_SPEC_FLAG_DF,
		/*0xA7*/ RIVER_SPEC_FLAG_DF,
		/*0xA8*/ 0,
		/*0xA9*/ 0,
		/*0xAA*/ RIVER_SPEC_FLAG_DF,
		/*0xAB*/ RIVER_SPEC_FLAG_DF,
		/*0xAC*/ RIVER_SPEC_FLAG_DF,
		/*0xAD*/ RIVER_SPEC_FLAG_DF,
		/*0xAE*/ RIVER_SPEC_FLAG_DF,
		/*0xAF*/ RIVER_SPEC_FLAG_DF,
		/*0xB0*/ 0,
		/*0xB1*/ 0,
		/*0xB2*/ 0,
		/*0xB3*/ 0,
		/*0xB4*/ 0,
		/*0xB5*/ 0,
		/*0xB6*/ 0,
		/*0xB7*/ 0,
		/*0xB8*/ 0,
		/*0xB9*/ 0,
		/*0xBA*/ 0,
		/*0xBB*/ 0,
		/*0xBC*/ 0,
		/*0xBD*/ 0,
		/*0xBE*/ 0,
		/*0xBF*/ 0,
		/*0xC0*/ RIVER_SPEC_FLAG_EXT | 0,
		/*0xC1*/ RIVER_SPEC_FLAG_EXT | 0,
		/*0xC2*/ 0, 
		/*0xC3*/ 0,
		/*0xC4*/ 0,
		/*0xC5*/ 0,
		/*0xC6*/ 0,
		/*0xC7*/ 0,
		/*0xC8*/ 0,
		/*0xC9*/ 0,
		/*0xCA*/ 0,
		/*0xCB*/ 0,
		/*0xCC*/ 0,
		/*0xCD*/ 0,
		/*0xCE*/ RIVER_SPEC_FLAG_OF,
		/*0xCF*/ 0,
		/*0xD0*/ RIVER_SPEC_FLAG_EXT | 0,
		/*0xD1*/ RIVER_SPEC_FLAG_EXT | 0,
		/*0xD2*/ RIVER_SPEC_FLAG_EXT | 0,
		/*0xD3*/ RIVER_SPEC_FLAG_EXT | 0,
		/*0xD4*/ 0,
		/*0xD5*/ 0,
		/*0xD6*/ RIVER_SPEC_FLAG_CF,
		/*0xD7*/ 0,
		/*0xD8*/ 0,
		/*0xD9*/ 0xFF,
		/*0xDA*/ 0xFF,
		/*0xDB*/ 0xFF,
		/*0xDC*/ 0xFF,
		/*0xDD*/ 0xFF,
		/*0xDE*/ 0xFF,
		/*0xDF*/ 0xFF,
		/*0xE0*/ RIVER_SPEC_FLAG_CF,
		/*0xE1*/ RIVER_SPEC_FLAG_CF,
		/*0xE2*/ 0,
		/*0xE3*/ 0,
		/*0xE4*/ 0,
		/*0xE5*/ 0,
		/*0xE6*/ 0,
		/*0xE7*/ 0,
		/*0xE8*/ 0,
		/*0xE9*/ 0,
		/*0xEA*/ 0,
		/*0xEB*/ 0,
		/*0xEC*/ 0,
		/*0xED*/ 0,
		/*0xEE*/ 0,
		/*0xEF*/ 0,
		/*0xF0*/ 0,
		/*0xF1*/ 0,
		/*0xF2*/ RIVER_SPEC_FLAG_ZF,
		/*0xF3*/ RIVER_SPEC_FLAG_ZF,
		/*0xF4*/ 0,
		/*0xF5*/ RIVER_SPEC_FLAG_CF,
		/*0xF6*/ 0,
		/*0xF7*/ 0,
		/*0xF8*/ 0,
		/*0xF9*/ 0,
		/*0xFA*/ 0,
		/*0xFB*/ 0,
		/*0xFC*/ 0,
		/*0xFD*/ 0,
		/*0xFE*/ 0,
		/*0xFF*/ 0
	},
	{
		/*0x00*/ 0,
		/*0x01*/ 0,
		/*0x02*/ 0,
		/*0x03*/ 0,
		/*0x04*/ 0,
		/*0x05*/ 0,
		/*0x06*/ 0,
		/*0x07*/ 0,
		/*0x08*/ 0,
		/*0x09*/ 0,
		/*0x0A*/ 0,
		/*0x0B*/ 0,
		/*0x0C*/ 0,
		/*0x0D*/ 0,
		/*0x0E*/ 0,
		/*0x0F*/ 0,
		/*0x10*/ 0,
		/*0x11*/ 0,
		/*0x12*/ 0,
		/*0x13*/ 0,
		/*0x14*/ 0,
		/*0x15*/ 0,
		/*0x16*/ 0,
		/*0x17*/ 0,
		/*0x18*/ 0,
		/*0x19*/ 0,
		/*0x1A*/ 0,
		/*0x1B*/ 0,
		/*0x1C*/ 0,
		/*0x1D*/ 0,
		/*0x1E*/ 0,
		/*0x1F*/ 0,
		/*0x20*/ 0,
		/*0x21*/ 0,
		/*0x22*/ 0,
		/*0x23*/ 0,
		/*0x24*/ 0,
		/*0x25*/ 0,
		/*0x26*/ 0,
		/*0x27*/ 0,
		/*0x28*/ 0,
		/*0x29*/ 0,
		/*0x2A*/ 0,
		/*0x2B*/ 0,
		/*0x2C*/ 0,
		/*0x2D*/ 0,
		/*0x2E*/ 0,
		/*0x2F*/ 0,
		/*0x30*/ 0,
		/*0x31*/ 0,
		/*0x32*/ 0,
		/*0x33*/ 0,
		/*0x34*/ 0,
		/*0x35*/ 0,
		/*0x36*/ 0,
		/*0x37*/ 0,
		/*0x38*/ 0,
		/*0x39*/ 0,
		/*0x3A*/ 0,
		/*0x3B*/ 0,
		/*0x3C*/ 0,
		/*0x3D*/ 0,
		/*0x3E*/ 0,
		/*0x3F*/ 0,
		/*0x40*/ RIVER_SPEC_FLAG_OF,
		/*0x41*/ RIVER_SPEC_FLAG_OF,
		/*0x42*/ RIVER_SPEC_FLAG_CF,
		/*0x43*/ RIVER_SPEC_FLAG_CF,
		/*0x44*/ RIVER_SPEC_FLAG_ZF,
		/*0x45*/ RIVER_SPEC_FLAG_ZF,
		/*0x46*/ RIVER_SPEC_FLAG_CF | RIVER_SPEC_FLAG_ZF,
		/*0x47*/ RIVER_SPEC_FLAG_CF | RIVER_SPEC_FLAG_ZF,
		/*0x48*/ RIVER_SPEC_FLAG_SF,
		/*0x49*/ RIVER_SPEC_FLAG_SF,
		/*0x4A*/ RIVER_SPEC_FLAG_PF,
		/*0x4B*/ RIVER_SPEC_FLAG_PF,
		/*0x4C*/ RIVER_SPEC_FLAG_OF | RIVER_SPEC_FLAG_SF,
		/*0x4D*/ RIVER_SPEC_FLAG_OF | RIVER_SPEC_FLAG_SF,
		/*0x4E*/ RIVER_SPEC_FLAG_OF | RIVER_SPEC_FLAG_SF | RIVER_SPEC_FLAG_ZF,
		/*0x4F*/ RIVER_SPEC_FLAG_OF | RIVER_SPEC_FLAG_SF | RIVER_SPEC_FLAG_ZF,
		/*0x50*/ 0,
		/*0x51*/ 0,
		/*0x52*/ 0,
		/*0x53*/ 0,
		/*0x54*/ 0,
		/*0x55*/ 0,
		/*0x56*/ 0,
		/*0x57*/ 0,
		/*0x58*/ 0,
		/*0x59*/ 0,
		/*0x5A*/ 0,
		/*0x5B*/ 0,
		/*0x5C*/ 0,
		/*0x5D*/ 0,
		/*0x5E*/ 0,
		/*0x5F*/ 0,
		/*0x60*/ 0,
		/*0x61*/ 0,
		/*0x62*/ 0,
		/*0x63*/ 0,
		/*0x64*/ 0,
		/*0x65*/ 0,
		/*0x66*/ 0,
		/*0x67*/ 0,
		/*0x68*/ 0,
		/*0x69*/ 0,
		/*0x6A*/ 0,
		/*0x6B*/ 0,
		/*0x6C*/ 0,
		/*0x6D*/ 0,
		/*0x6E*/ 0,
		/*0x6F*/ 0,
		/*0x70*/ 0,
		/*0x71*/ 0,
		/*0x72*/ 0,
		/*0x73*/ 0,
		/*0x74*/ 0,
		/*0x75*/ 0,
		/*0x76*/ 0,
		/*0x77*/ 0,
		/*0x78*/ 0,
		/*0x79*/ 0,
		/*0x7A*/ 0,
		/*0x7B*/ 0,
		/*0x7C*/ 0,
		/*0x7D*/ 0,
		/*0x7E*/ 0,
		/*0x7F*/ 0,
		/*0x80*/ RIVER_SPEC_FLAG_OF,
		/*0x81*/ RIVER_SPEC_FLAG_OF,
		/*0x82*/ RIVER_SPEC_FLAG_CF,
		/*0x83*/ RIVER_SPEC_FLAG_CF,
		/*0x84*/ RIVER_SPEC_FLAG_ZF,
		/*0x85*/ RIVER_SPEC_FLAG_ZF,
		/*0x86*/ RIVER_SPEC_FLAG_CF | RIVER_SPEC_FLAG_ZF,
		/*0x87*/ RIVER_SPEC_FLAG_CF | RIVER_SPEC_FLAG_ZF,
		/*0x88*/ RIVER_SPEC_FLAG_SF,
		/*0x89*/ RIVER_SPEC_FLAG_SF,
		/*0x8A*/ RIVER_SPEC_FLAG_PF,
		/*0x8B*/ RIVER_SPEC_FLAG_PF,
		/*0x8C*/ RIVER_SPEC_FLAG_OF | RIVER_SPEC_FLAG_SF,
		/*0x8D*/ RIVER_SPEC_FLAG_OF | RIVER_SPEC_FLAG_SF,
		/*0x8E*/ RIVER_SPEC_FLAG_OF | RIVER_SPEC_FLAG_SF | RIVER_SPEC_FLAG_ZF,
		/*0x8F*/ RIVER_SPEC_FLAG_OF | RIVER_SPEC_FLAG_SF | RIVER_SPEC_FLAG_ZF,
		/*0x90*/ RIVER_SPEC_FLAG_OF,
		/*0x91*/ RIVER_SPEC_FLAG_OF,
		/*0x92*/ RIVER_SPEC_FLAG_CF,
		/*0x93*/ RIVER_SPEC_FLAG_CF,
		/*0x94*/ RIVER_SPEC_FLAG_ZF,
		/*0x95*/ RIVER_SPEC_FLAG_ZF,
		/*0x96*/ RIVER_SPEC_FLAG_CF | RIVER_SPEC_FLAG_ZF,
		/*0x97*/ RIVER_SPEC_FLAG_CF | RIVER_SPEC_FLAG_ZF,
		/*0x98*/ RIVER_SPEC_FLAG_SF,
		/*0x99*/ RIVER_SPEC_FLAG_SF,
		/*0x9A*/ RIVER_SPEC_FLAG_PF,
		/*0x9B*/ RIVER_SPEC_FLAG_PF,
		/*0x9C*/ RIVER_SPEC_FLAG_OF | RIVER_SPEC_FLAG_SF,
		/*0x9D*/ RIVER_SPEC_FLAG_OF | RIVER_SPEC_FLAG_SF,
		/*0x9E*/ RIVER_SPEC_FLAG_OF | RIVER_SPEC_FLAG_SF | RIVER_SPEC_FLAG_ZF,
		/*0x9F*/ RIVER_SPEC_FLAG_OF | RIVER_SPEC_FLAG_SF | RIVER_SPEC_FLAG_ZF,
		/*0xA0*/ 0,
		/*0xA1*/ 0,
		/*0xA2*/ 0,
		/*0xA3*/ 0,
		/*0xA4*/ 0,
		/*0xA5*/ 0,
		/*0xA6*/ 0,
		/*0xA7*/ 0,
		/*0xA8*/ 0,
		/*0xA9*/ 0,
		/*0xAA*/ 0,
		/*0xAB*/ 0,
		/*0xAC*/ 0,
		/*0xAD*/ 0,
		/*0xAE*/ 0,
		/*0xAF*/ 0,
		/*0xB0*/ 0,
		/*0xB1*/ 0,
		/*0xB2*/ 0,
		/*0xB3*/ 0,
		/*0xB4*/ 0,
		/*0xB5*/ 0,
		/*0xB6*/ 0,
		/*0xB7*/ 0,
		/*0xB8*/ 0,
		/*0xB9*/ 0,
		/*0xBA*/ 0,
		/*0xBB*/ 0,
		/*0xBC*/ 0,
		/*0xBD*/ 0,
		/*0xBE*/ 0,
		/*0xBF*/ 0,
		/*0xC0*/ 0,
		/*0xC1*/ 0,
		/*0xC2*/ 0,
		/*0xC3*/ 0,
		/*0xC4*/ 0,
		/*0xC5*/ 0,
		/*0xC6*/ 0,
		/*0xC7*/ 0,
		/*0xC8*/ 0,
		/*0xC9*/ 0,
		/*0xCA*/ 0,
		/*0xCB*/ 0,
		/*0xCC*/ 0,
		/*0xCD*/ 0,
		/*0xCE*/ 0,
		/*0xCF*/ 0,
		/*0xD0*/ 0,
		/*0xD1*/ 0,
		/*0xD2*/ 0,
		/*0xD3*/ 0,
		/*0xD4*/ 0,
		/*0xD5*/ 0,
		/*0xD6*/ 0,
		/*0xD7*/ 0,
		/*0xD8*/ 0,
		/*0xD9*/ 0,
		/*0xDA*/ 0,
		/*0xDB*/ 0,
		/*0xDC*/ 0,
		/*0xDD*/ 0,
		/*0xDE*/ 0,
		/*0xDF*/ 0,
		/*0xE0*/ 0,
		/*0xE1*/ 0,
		/*0xE2*/ 0,
		/*0xE3*/ 0,
		/*0xE4*/ 0,
		/*0xE5*/ 0,
		/*0xE6*/ 0,
		/*0xE7*/ 0,
		/*0xE8*/ 0,
		/*0xE9*/ 0,
		/*0xEA*/ 0,
		/*0xEB*/ 0,
		/*0xEC*/ 0,
		/*0xED*/ 0,
		/*0xEE*/ 0,
		/*0xEF*/ 0,
		/*0xF0*/ 0,
		/*0xF1*/ 0,
		/*0xF2*/ 0,
		/*0xF3*/ 0,
		/*0xF4*/ 0,
		/*0xF5*/ 0,
		/*0xF6*/ 0,
		/*0xF7*/ 0,
		/*0xF8*/ 0,
		/*0xF9*/ 0,
		/*0xFA*/ 0,
		/*0xFB*/ 0,
		/*0xFC*/ 0,
		/*0xFD*/ 0,
		/*0xFE*/ 0,
		/*0xFF*/ 0
	}
};

nodep::BYTE RiverX86Disassembler::modFlags[2][0x100] = {
	{
		/*0x00*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x01*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x02*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x03*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x04*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x05*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x06*/ 0,
		/*0x07*/ 0,
		/*0x08*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x09*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x0A*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x0B*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x0C*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x0D*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x0E*/ 0,
		/*0x0F*/ 0,
		/*0x10*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x11*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x12*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x13*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x14*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x15*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x16*/ 0,
		/*0x17*/ 0,
		/*0x18*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x19*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x1A*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x1B*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x1C*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x1D*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x1E*/ 0,
		/*0x1F*/ 0,
		/*0x20*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x21*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x22*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x23*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x24*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x25*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x26*/ 0,
		/*0x27*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x28*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x29*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x2A*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x2B*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x2C*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x2D*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x2E*/ 0,
		/*0x2F*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x30*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x31*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x32*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x33*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x34*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x35*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x36*/ 0,
		/*0x37*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x38*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x39*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x3A*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x3B*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x3C*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x3D*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x3E*/ 0,
		/*0x3F*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x40*/ RIVER_SPEC_FLAG_OSZAP,
		/*0x41*/ RIVER_SPEC_FLAG_OSZAP,
		/*0x42*/ RIVER_SPEC_FLAG_OSZAP,
		/*0x43*/ RIVER_SPEC_FLAG_OSZAP,
		/*0x44*/ RIVER_SPEC_FLAG_OSZAP,
		/*0x45*/ RIVER_SPEC_FLAG_OSZAP,
		/*0x46*/ RIVER_SPEC_FLAG_OSZAP,
		/*0x47*/ RIVER_SPEC_FLAG_OSZAP,
		/*0x48*/ RIVER_SPEC_FLAG_OSZAP,
		/*0x49*/ RIVER_SPEC_FLAG_OSZAP,
		/*0x4A*/ RIVER_SPEC_FLAG_OSZAP,
		/*0x4B*/ RIVER_SPEC_FLAG_OSZAP,
		/*0x4C*/ RIVER_SPEC_FLAG_OSZAP,
		/*0x4D*/ RIVER_SPEC_FLAG_OSZAP,
		/*0x4E*/ RIVER_SPEC_FLAG_OSZAP,
		/*0x4F*/ RIVER_SPEC_FLAG_OSZAP,
		/*0x50*/ 0,
		/*0x51*/ 0,
		/*0x52*/ 0,
		/*0x53*/ 0,
		/*0x54*/ 0,
		/*0x55*/ 0,
		/*0x56*/ 0,
		/*0x57*/ 0,
		/*0x58*/ 0,
		/*0x59*/ 0,
		/*0x5A*/ 0,
		/*0x5B*/ 0,
		/*0x5C*/ 0,
		/*0x5D*/ 0,
		/*0x5E*/ 0,
		/*0x5F*/ 0,
		/*0x60*/ 0,
		/*0x61*/ 0,
		/*0x62*/ 0xFF,
		/*0x63*/ RIVER_SPEC_FLAG_ZF,
		/*0x64*/ 0,
		/*0x65*/ 0,
		/*0x66*/ 0,
		/*0x67*/ 0,
		/*0x68*/ 0,
		/*0x69*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x6A*/ 0,
		/*0x6B*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x6C*/ 0,
		/*0x6D*/ 0,
		/*0x6E*/ 0,
		/*0x6F*/ 0,
		/*0x70*/ 0,
		/*0x71*/ 0,
		/*0x72*/ 0,
		/*0x73*/ 0,
		/*0x74*/ 0,
		/*0x75*/ 0,
		/*0x76*/ 0,
		/*0x77*/ 0,
		/*0x78*/ 0,
		/*0x79*/ 0,
		/*0x7A*/ 0,
		/*0x7B*/ 0,
		/*0x7C*/ 0,
		/*0x7D*/ 0,
		/*0x7E*/ 0,
		/*0x7F*/ 0,
		/*0x80*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x81*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x82*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x83*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x84*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x85*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x86*/ 0,
		/*0x87*/ 0,
		/*0x88*/ 0,
		/*0x89*/ 0,
		/*0x8A*/ 0,
		/*0x8B*/ 0,
		/*0x8C*/ 0,
		/*0x8D*/ 0,
		/*0x8E*/ 0,
		/*0x8F*/ 0,
		/*0x90*/ 0,
		/*0x91*/ 0,
		/*0x92*/ 0,
		/*0x93*/ 0,
		/*0x94*/ 0,
		/*0x95*/ 0,
		/*0x96*/ 0,
		/*0x97*/ 0,
		/*0x98*/ 0,
		/*0x99*/ 0,
		/*0x9A*/ 0,
		/*0x9B*/ 0xFF,
		/*0x9C*/ 0,
		/*0x9D*/ 0,
		/*0x9E*/ RIVER_SPEC_FLAG_SZAPC,
		/*0x9F*/ 0,
		/*0xA0*/ 0,
		/*0xA1*/ 0,
		/*0xA2*/ 0,
		/*0xA3*/ 0,
		/*0xA4*/ 0,
		/*0xA5*/ 0,
		/*0xA6*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xA7*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xA8*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xA9*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xAA*/ 0,
		/*0xAB*/ 0,
		/*0xAC*/ 0,
		/*0xAD*/ 0,
		/*0xAE*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xAF*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xB0*/ 0,
		/*0xB1*/ 0,
		/*0xB2*/ 0,
		/*0xB3*/ 0,
		/*0xB4*/ 0,
		/*0xB5*/ 0,
		/*0xB6*/ 0,
		/*0xB7*/ 0,
		/*0xB8*/ 0,
		/*0xB9*/ 0,
		/*0xBA*/ 0,
		/*0xBB*/ 0,
		/*0xBC*/ 0,
		/*0xBD*/ 0,
		/*0xBE*/ 0,
		/*0xBF*/ 0,
		/*0xC0*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xC1*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xC2*/ 0,
		/*0xC3*/ 0,
		/*0xC4*/ 0,
		/*0xC5*/ 0,
		/*0xC6*/ 0,
		/*0xC7*/ 0,
		/*0xC8*/ 0,
		/*0xC9*/ 0,
		/*0xCA*/ 0,
		/*0xCB*/ 0,
		/*0xCC*/ 0xFF,
		/*0xCD*/ 0xFF,
		/*0xCE*/ 0xFF,
		/*0xCF*/ 0,
		/*0xD0*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xD1*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xD2*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xD3*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xD4*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xD5*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xD6*/ 0,
		/*0xD7*/ 0,
		/*0xD8*/ 0xFF,
		/*0xD9*/ 0xFF,
		/*0xDA*/ 0xFF,
		/*0xDB*/ 0xFF,
		/*0xDC*/ 0xFF,
		/*0xDD*/ 0xFF,
		/*0xDE*/ 0xFF,
		/*0xDF*/ 0xFF,
		/*0xE0*/ 0,
		/*0xE1*/ 0,
		/*0xE2*/ 0,
		/*0xE3*/ 0,
		/*0xE4*/ 0,
		/*0xE5*/ 0,
		/*0xE6*/ 0,
		/*0xE7*/ 0,
		/*0xE8*/ 0,
		/*0xE9*/ 0,
		/*0xEA*/ 0,
		/*0xEB*/ 0,
		/*0xEC*/ 0,
		/*0xED*/ 0,
		/*0xEE*/ 0,
		/*0xEF*/ 0,
		/*0xF0*/ 0,
		/*0xF1*/ 0xFF,
		/*0xF2*/ 0,
		/*0xF3*/ 0,
		/*0xF4*/ 0,
		/*0xF5*/ RIVER_SPEC_FLAG_CF,
		/*0xF6*/ RIVER_SPEC_FLAG_OSZAPC, // replace with ext
		/*0xF7*/ RIVER_SPEC_FLAG_OSZAPC, // replace with ext
		/*0xF8*/ RIVER_SPEC_FLAG_CF,
		/*0xF9*/ RIVER_SPEC_FLAG_CF,
		/*0xFA*/ 0xFF,
		/*0xFB*/ 0xFF,
		/*0xFC*/ RIVER_SPEC_FLAG_DF,
		/*0xFD*/ RIVER_SPEC_FLAG_DF,
		/*0xFE*/ RIVER_SPEC_FLAG_OSZAP,
		/*0xFF*/ RIVER_SPEC_FLAG_OSZAP
	}, {
		/*0x00*/ 0xFF,
		/*0x01*/ 0xFF,
		/*0x02*/ 0xFF,
		/*0x03*/ RIVER_SPEC_FLAG_ZF,
		/*0x04*/ 0xFF,
		/*0x05*/ 0, // should be 0xFF
		/*0x06*/ 0xFF,
		/*0x07*/ 0xFF,
		/*0x08*/ 0xFF,
		/*0x09*/ 0xFF,
		/*0x0A*/ 0xFF,
		/*0x0B*/ 0xFF,
		/*0x0C*/ 0xFF,
		/*0x0D*/ 0xFF,
		/*0x0E*/ 0xFF,
		/*0x0F*/ 0xFF,
		/*0x10*/ 0,
		/*0x11*/ 0,
		/*0x12*/ 0,
		/*0x13*/ 0,
		/*0x14*/ 0,
		/*0x15*/ 0,
		/*0x16*/ 0,
		/*0x17*/ 0,
		/*0x18*/ 0,
		/*0x19*/ 0,
		/*0x1A*/ 0,
		/*0x1B*/ 0,
		/*0x1C*/ 0,
		/*0x1D*/ 0,
		/*0x1E*/ 0,
		/*0x1F*/ 0,
		/*0x20*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x21*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x22*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x23*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x24*/ 0xFF,
		/*0x25*/ 0xFF,
		/*0x26*/ 0xFF,
		/*0x27*/ 0xFF,
		/*0x28*/ 0,
		/*0x29*/ 0,
		/*0x2A*/ 0,
		/*0x2B*/ 0,
		/*0x2C*/ 0,
		/*0x2D*/ 0,
		/*0x2E*/ 0xFF,
		/*0x2F*/ 0xFF,
		/*0x30*/ 0,
		/*0x31*/ 0,
		/*0x32*/ 0,
		/*0x33*/ 0,
		/*0x34*/ 0, // should be 0xFF
		/*0x35*/ 0,
		/*0x36*/ 0,
		/*0x37*/ 0,
		/*0x38*/ 0xFF, // three byte opcodes!!!
		/*0x39*/ 0xFF,
		/*0x3A*/ 0xFF, // three byte opcodes!!!
		/*0x3B*/ 0xFF,
		/*0x3C*/ 0xFF,
		/*0x3D*/ 0xFF,
		/*0x3E*/ 0xFF,
		/*0x3F*/ 0xFF,
		/*0x40*/ 0,
		/*0x41*/ 0,
		/*0x42*/ 0,
		/*0x43*/ 0,
		/*0x44*/ 0,
		/*0x45*/ 0,
		/*0x46*/ 0,
		/*0x47*/ 0,
		/*0x48*/ 0,
		/*0x49*/ 0,
		/*0x4A*/ 0,
		/*0x4B*/ 0,
		/*0x4C*/ 0,
		/*0x4D*/ 0,
		/*0x4E*/ 0,
		/*0x4F*/ 0,
		/*0x50*/ 0,
		/*0x51*/ 0,
		/*0x52*/ 0,
		/*0x53*/ 0,
		/*0x54*/ 0,
		/*0x55*/ 0,
		/*0x56*/ 0,
		/*0x57*/ 0,
		/*0x58*/ 0,
		/*0x59*/ 0,
		/*0x5A*/ 0,
		/*0x5B*/ 0,
		/*0x5C*/ 0,
		/*0x5D*/ 0,
		/*0x5E*/ 0,
		/*0x5F*/ 0,
		/*0x60*/ 0,
		/*0x61*/ 0,
		/*0x62*/ 0,
		/*0x63*/ 0,
		/*0x64*/ 0,
		/*0x65*/ 0,
		/*0x66*/ 0,
		/*0x67*/ 0,
		/*0x68*/ 0,
		/*0x69*/ 0,
		/*0x6A*/ 0,
		/*0x6B*/ 0,
		/*0x6C*/ 0,
		/*0x6D*/ 0,
		/*0x6E*/ 0,
		/*0x6F*/ 0,
		/*0x70*/ 0,
		/*0x71*/ 0,
		/*0x72*/ 0,
		/*0x73*/ 0,
		/*0x74*/ 0,
		/*0x75*/ 0,
		/*0x76*/ 0,
		/*0x77*/ 0,
		/*0x78*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x79*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0x7A*/ 0xFF,
		/*0x7B*/ 0xFF,
		/*0x7C*/ 0,
		/*0x7D*/ 0,
		/*0x7E*/ 0,
		/*0x7F*/ 0,
		/*0x80*/ 0,
		/*0x81*/ 0,
		/*0x82*/ 0,
		/*0x83*/ 0,
		/*0x84*/ 0,
		/*0x85*/ 0,
		/*0x86*/ 0,
		/*0x87*/ 0,
		/*0x88*/ 0,
		/*0x89*/ 0,
		/*0x8A*/ 0,
		/*0x8B*/ 0,
		/*0x8C*/ 0,
		/*0x8D*/ 0,
		/*0x8E*/ 0,
		/*0x8F*/ 0,
		/*0x90*/ 0,
		/*0x91*/ 0,
		/*0x92*/ 0,
		/*0x93*/ 0,
		/*0x94*/ 0,
		/*0x95*/ 0,
		/*0x96*/ 0,
		/*0x97*/ 0,
		/*0x98*/ 0,
		/*0x99*/ 0,
		/*0x9A*/ 0,
		/*0x9B*/ 0,
		/*0x9C*/ 0,
		/*0x9D*/ 0,
		/*0x9E*/ 0,
		/*0x9F*/ 0,
		/*0xA0*/ 0,
		/*0xA1*/ 0,
		/*0xA2*/ 0,
		/*0xA3*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xA4*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xA5*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xA6*/ 0xFF,
		/*0xA7*/ 0xFF,
		/*0xA8*/ 0,
		/*0xA9*/ 0,
		/*0xAA*/ 0,
		/*0xAB*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xAC*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xAD*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xAE*/ 0,
		/*0xAF*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xB0*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xB1*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xB2*/ 0,
		/*0xB3*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xB4*/ 0,
		/*0xB5*/ 0,
		/*0xB6*/ 0,
		/*0xB7*/ 0,
		/*0xB8*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xB9*/ 0xFF,
		/*0xBA*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xBB*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xBC*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xBD*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xBE*/ 0,
		/*0xBF*/ 0,
		/*0xC0*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xC1*/ RIVER_SPEC_FLAG_OSZAPC,
		/*0xC2*/ 0,
		/*0xC3*/ 0,
		/*0xC4*/ 0,
		/*0xC5*/ 0,
		/*0xC6*/ 0,
		/*0xC7*/ RIVER_SPEC_FLAG_EXT | 0,
		/*0xC8*/ 0,
		/*0xC9*/ 0,
		/*0xCA*/ 0,
		/*0xCB*/ 0,
		/*0xCC*/ 0,
		/*0xCD*/ 0,
		/*0xCE*/ 0,
		/*0xCF*/ 0,
		/*0xD0*/ 0,
		/*0xD1*/ 0,
		/*0xD2*/ 0,
		/*0xD3*/ 0,
		/*0xD4*/ 0,
		/*0xD5*/ 0,
		/*0xD6*/ 0,
		/*0xD7*/ 0,
		/*0xD8*/ 0,
		/*0xD9*/ 0,
		/*0xDA*/ 0,
		/*0xDB*/ 0,
		/*0xDC*/ 0,
		/*0xDD*/ 0,
		/*0xDE*/ 0,
		/*0xDF*/ 0,
		/*0xE0*/ 0,
		/*0xE1*/ 0,
		/*0xE2*/ 0,
		/*0xE3*/ 0,
		/*0xE4*/ 0,
		/*0xE5*/ 0,
		/*0xE6*/ 0,
		/*0xE7*/ 0,
		/*0xE8*/ 0,
		/*0xE9*/ 0,
		/*0xEA*/ 0,
		/*0xEB*/ 0,
		/*0xEC*/ 0,
		/*0xED*/ 0,
		/*0xEE*/ 0,
		/*0xEF*/ 0,
		/*0xF0*/ 0,
		/*0xF1*/ 0,
		/*0xF2*/ 0,
		/*0xF3*/ 0,
		/*0xF4*/ 0,
		/*0xF5*/ 0,
		/*0xF6*/ 0,
		/*0xF7*/ 0,
		/*0xF8*/ 0,
		/*0xF9*/ 0,
		/*0xFA*/ 0,
		/*0xFB*/ 0,
		/*0xFC*/ 0,
		/*0xFD*/ 0,
		/*0xFE*/ 0,
		/*0xFF*/ 0
	}
};
